perm filename INIT.SAI[PNT,HE]3 blob sn#358132 filedate 1978-05-27 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	ENTRY
C00008 ENDMK
C⊗;
ENTRY;
BEGIN
REQUIRE "HEADER.SAI[PNT,HE]" SOURCE_FILE;
INTERNAL PROCEDURE INIT;
BEGIN;

	! some initializations;
	
	STOKEN←FALSE;

	$ALLOW←0;
	$READ←FALSE;			! used by readcode: true while reading;
	$TTYFL←NULL;
	$TOTFL←0;
	$ALFL←"DECLAR.AL";		! default name for input/output file;
	$EPS←0.001;

$ALLOW←$ALLOW+1;

	HANDB←ENSYM("BHAND",#SC,S_BHAND←MK_REC(#SC));
	HANDY←ENSYM("YHAND",#SC,S_YHAND←MK_REC(#SC));

	SCALAR:VALUE[SYMBOL:OBJECT[INCHES←ENSYM("INCHES",#SC,MK_REC(#SC))]]←1;
	SCALAR:VALUE[SYMBOL:OBJECT[INCH←ENSYM("INCH",#SC,MK_REC(#SC))]]←1;
	SCALAR:VALUE[SYMBOL:OBJECT[DEG←ENSYM("DEG",#SC,MK_REC(#SC))]]←1;
	SCALAR:VALUE[SYMBOL:OBJECT[DEGREE←ENSYM("DEGREE",#SC,MK_REC(#SC))]]←1;
	SCALAR:VALUE[SYMBOL:OBJECT[DEGRES←ENSYM("DEGREES",#SC,MK_REC(#SC))]]←1;


	VECTOR:XC[SYMBOL:OBJECT[XHAT←ENSYM("XHAT",#VT,V_XHAT←MK_REC(#VT))]]←1;
	VECTOR:YC[SYMBOL:OBJECT[YHAT←ENSYM("YHAT",#VT,V_YHAT←MK_REC(#VT))]]←1;
	VECTOR:ZC[SYMBOL:OBJECT[ZHAT←ENSYM("ZHAT",#VT,V_ZHAT←MK_REC(#VT))]]←1;
	NILVECT←ENSYM("NILVECT",#VT,V_NILVECT←MK_REC(#VT));

	WORLD←ENSYM("STATION",#FR,F_WRLD←MK_REC(#FR));
	FRAME:PNAME[F_WRLD]←"STATION";
	BARM←ENSYM("BARM",#FR,F_BARM←MK_REC(#FR));
	FRAME:PNAME[F_BARM]←"BARM";
	YARM←ENSYM("YARM",#FR,F_YARM←MK_REC(#FR));
	FRAME:PNAME[F_YARM]←"YARM";
 	BPARK←ENSYM("BPARK",#FR,F_BPARK←MK_REC(#FR));
	FRAME:PNAME[F_BPARK]←"BPARK";
 	YPARK←ENSYM("YPARK",#FR,F_YPARK←MK_REC(#FR));
	FRAME:PNAME[F_YPARK]←"YPARK";
 	BGRASP←ENSYM("BGRASP",#FR,F_BGRASP←MK_REC(#FR));
	FRAME:PNAME[F_BGRASP]←"BGRASP";
 	POINTER←ENSYM("POINTER",#FR,F_POINTER←MK_REC(#FR));
	FRAME:PNAME[F_POINTER]←"POINTER";

	NILROTN←ENSYM("NILROTN",#RT,R_NILROTN←MK_REC(#RT));
	NILTRANS←ENSYM("NILTRANS",#TR,T_NILTRANS←MK_REC(#TR));

ARRTRAN(FRAME:XF[F_BPARK],TRANS:XF[DOTREXP(0,180,0,43.53125,56.855,9.95875)]);
ARRTRAN(FRAME:XF[F_YPARK],TRANS:XF[DOTREXP(0,180,0,40,14,9)]);
ARRTRAN(FRAME:XF[F_BGRASP],TRANS:XF[DOTREXP(-180,180,0,0,0,0)]);
ARRTRAN(FRAME:XF[F_POINTER],TRANS:XF[DOTREXP(-.417,13.2,-5.173,.0121,.119,3.75)]);

AFX_NODE(F_BARM,F_WRLD,#NRGLK);
AFX_NODE(F_YARM,F_WRLD,#NRGLK);
AFX_NODE(F_BGRASP,F_BARM,#RGDLK);
AFX_NODE(F_POINTER,F_BARM,#RGDLK);
F_ARM←F_BARM;
END;




END;